/*
 * StrahlentherapiePrimaryGeneratorAction.hh
 *
 *  Created on: Oct 1, 2010
 *      Author: pwagner
 */

#ifndef StrahlentherapiePRimaryGeneratorAction_h
#define StrahlentherapiePRimaryGeneratorAction_h 1

#include "G4VUserPrimaryGeneratorAction.hh"
#include "StrahlentherapieGeneralParticleSource.hh"

#include "globals.hh"

class G4Event;

class StrahlentherapiePrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
	public:
		StrahlentherapiePrimaryGeneratorAction();
		~StrahlentherapiePrimaryGeneratorAction();

	public:
		/**
		 * Wird bei jeder Teilchenerzeugung aufgerufen um Parameter der
		 * Partikelkanone oder das definierte Teilchen selbst zu aendern.
		 *
		 * @param anEvent Event welches bei jeder Teilchenerzeugung uebergeben wird.
		 */
		void GeneratePrimaries(G4Event* anEvent);
		StrahlentherapieGeneralParticleSource * GetParticleGun();

	private:
		//G4GeneralParticleSource* particleGun;
		StrahlentherapieGeneralParticleSource* particleGun;
};

#endif
